<?php
// registrar scripts y css
add_action('admin_enqueue_scripts', 'registrar_cantidades_css_js', 10, 1);

function registrar_cantidades_css_js($hook) {

    if ($hook == 'parametros_page_cantidades') {
        wp_enqueue_script('cantidades-js', get_template_directory_uri() . '/js/parametros/cantidades.js');
        wp_enqueue_style('formularios-css', get_template_directory_uri() . '/css/formularios.css');

//estas son variables que puedo usar en los scripts
        wp_localize_script('cantidades-js', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));
    }
}

add_action('wp_ajax_guardar_cantidad', 'guardar_cantidad_ajax');

function guardar_cantidad_ajax() {
    global $wpdb;

//    SI TODO ES CORRECTO GUARDAMOS LOS CAMPOS
    $cantidad = array(
        'id_cantidad' => $_POST['id_cantidad'],
        'cantidad' => $_POST['cantidad']
    );

    if ($_POST['id_cantidad'] != '') {//si ID != vacio significa que me llega un id por post para realizar una modificación
        $cantidad = array(
            'id_cantidad' => $_POST['id_cantidad'],
            'cantidad' => $_POST['cantidad']
        );

        $wpdb->update(cantidades, $cantidad, array('id_cantidad' => $_POST['id_cantidad']));
    } else {
        $cantidad = array(
            'cantidad' => $_POST['cantidad']
        );

        $wpdb->insert(cantidades, $cantidad);
    }

    mostrar_tabla_cantidades();

    die();
}

add_action('wp_ajax_eliminar_cantidad', 'eliminar_cantidad_ajax');

function eliminar_cantidad_ajax() {
    global $wpdb;

    $wpdb->query("DELETE FROM cantidades WHERE id_cantidad = " . $_POST['id_cantidad']);

    mostrar_tabla_cantidades();

    die();
}

//FUNCION QUE SE EJECUTA AL INGRESAR POR PRIMERA VEZ AL FORMULARIO
function mostrar_cantidades() {
    ?>

    <div style="position: relative;">
        <div class="wrap" style="box-shadow: 0 0 2px 0 black; display: inline-block; margin: 10px; padding: 10px 80px 40px;">
            <?php mostrar_fomulario_cantidades(); ?>

            <div class="listado-cantidades">
                <div class = "icon32 icon32-bws" id = "icon-options-general"></div>
                <h2>Listado de Cantidades</h2>
                <br/>
                <br/>
                <div class="lista" >
                    <?php mostrar_tabla_cantidades(); ?>
                </div>

                <br/>
                <label class="agregar button-primary">+ Agregar</label>
                <br/><br/>
            </div>
        </div>
    </div>
    <?php
}

function mostrar_fomulario_cantidades() {
    ?>
    <div id = "popup">
        <div class="close"></div>
        <div id="alta-cantidad">

            <div class="icon32" id="icon-options-general"></div>
            <h2>Cantidad</h2>
            <br/>
            <form method="post" action="admin.php?page=cantidades">
                <table>
                    <tr>
                        <td>ID:</td><td><input class="id_cantidad" type="text" size="6" disabled style="text-align: center; background-color: #F2F2F2;"/></td>
                    </tr>
                    <tr>
                        <td>Cantidad:</td><td><input class="cantidad" type="text" size="50"/></td>
                    </tr>
                </table>
                <p class="submit">
                    <input type="button" name="guardar" class="guardar button-primary" value="Guardar" />
                    <input type="button" name="cancelar" class="cancelar button-primary" value="Cancelar" />
                </p>
            </form>


        </div>
    </div>
    <div id="backgroundPopup"></div><?php
}

function mostrar_tabla_cantidades() {
    global $wpdb;
//$cantidades = get_option('cantidades');

    $cantidades = $wpdb->get_results("SELECT * FROM cantidades ORDER BY cantidad ASC");
    ?>


    <table class="tabla-cantidades">
        <tr>
            <th style="width: 30px; text-align: center;">Nº</th>
            <th style="width: 30px; text-align: center;">ID</th>
            <th style="width: 150px; text-align: center;">Cantidad</th>
        </tr>


        <?php
        if ($cantidades) {

            $i = 1;
            foreach ($cantidades as $cantidad) {
                ?>
                <tr>
                    <td class="t-nro" style="text-align: center;"><?php echo $i; ?></td>
                    <td class="t-id_cantidad" style="text-align: center;"><?php echo $cantidad->id_cantidad; ?></td>
                    <td class="t-cantidad"><?php echo $cantidad->cantidad; ?></td>
                    <td><label class="modificar" ></label><input id="M-<?php echo $cantidad->id_cantidad; ?>" type="hidden" value="<?php echo $cantidad->id_cantidad; ?>" style="display: none;"/></td>
                    <td><label class="eliminar" ></label><input id="E-<?php echo $cantidad->id_cantidad; ?>" type="hidden" value="<?php echo $cantidad->id_cantidad; ?>" style="display: none;"/></td>
                </tr>

                <?php
                $i++;
            }
            ?>
            <div class="cargando" style="display: none; z-index: 999;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        </table>


        <script type="text/javascript">
            jQuery("label.eliminar").click(function() {
                if (confirm('¿Esta seguro que desea eliminar esta Opción de Envío?')) {
                    //AJAX
                    var data = {//estos son los datos que paso por $_POST
                        action: 'eliminar_cantidad',
                        id_cantidad: jQuery(this).parent().find('input').val(),
                    };

                    jQuery.ajax({
                        type: "POST",
                        url: ajax_object.ajax_url,
                        data: data,
                        beforeSend: function() {
                            cargando();
                        },
                        success: function(datos) {
                            //                alert(datos);
                            jQuery('.lista').html(datos);
                        },
                        timeout: 4000,
                        error: function() {
                            alert('No se ha podido establecer la conexión con el servidor.');
                            jQuery('.cargando').fadeOut();

                        }
                    });
                }
            });

            jQuery("label.modificar").click(function() {
                loadPopup(); // function show popup

                jQuery('.id_cantidad').val(jQuery(this).parent().find('input').val());
                jQuery('.cantidad').val(jQuery(this).parent().parent().find('.t-cantidad').text());

            });

            function loadPopup() {
                jQuery("#popup").fadeIn(0500); // fadein popup div
                jQuery("#backgroundPopup").fadeIn(0001);

            }

            function cargando() {

                var w, h; //varibles width y height
                w = jQuery('.tabla-cantidades').width();
                h = jQuery('.tabla-cantidades').height() - 21;
                //            alert(w+' || '+h);
                jQuery('.cargando').css({width: w, height: h, 'line-height': (h + 9) + 'px'});
                jQuery('.cargando').fadeIn();
            }


        </script>

    <?php } else { ?>
        <div class="cargando" style="display: none; z-index: 999; top: 160px;"><img src="<?php bloginfo('template_url'); ?>/images/loader.gif" alt="mensaje loader"/></div>
        </table>

        <p>No hay datos para mostrar.</p>
        <?php
    }
}
?>
